#ifndef CRYPTO_UTILS_H
#define CRYPTO_UTILS_H

#include <vector>
#include <string>

class CryptoUtils {
public:
    // RIPEMD128哈希函数
    static std::vector<uint8_t> ripemd128(const std::vector<uint8_t>& data);
    
    // Salsa20加密/解密（8轮）
    static std::vector<uint8_t> salsa20_encrypt(const std::vector<uint8_t>& data, const std::vector<uint8_t>& key);
    static std::vector<uint8_t> salsa20_decrypt(const std::vector<uint8_t>& data, const std::vector<uint8_t>& key);
    
    // Fast解密（XOR方式）
    static std::vector<uint8_t> fast_decrypt(const std::vector<uint8_t>& data, const std::vector<uint8_t>& key);
    
    // XXH64哈希函数（用于v3版本）
    static std::vector<uint8_t> xxh64_digest(const std::vector<uint8_t>& data);
};

#endif // CRYPTO_UTILS_H